#include <stdio.h>

int rabbits(int);

/**
 * 题目：古典问题（兔子生崽）：有一对兔子，从出生后第3个月起每个月都生一对兔子，小兔子长到第三
 * 个月后每个月又生一对兔子，假如兔子都不死，问每个月的兔子总数为多少？（输出前40个月即可）
 * 程序分析：兔子的规律为数列1,1,2,3,5,8,13,21....，即下个月是上两个月之和（从第三个月开始）。
*/
int main(int argc, char const *argv[])
{
    int month=1;

    while (month <= 40)
    {    
        printf("第%d个月的兔子总数是：%d\n", month++, rabbits(month));
    }

    return 0;
}

int rabbits(int month)
{
    if(month<=0) 
        return 0;

    if (month==1 || month==2) 
        return 1;
    
    return rabbits(month-1) + rabbits(month-2);
}
